/* Copyright (c) 2025 Beijing Semidrive Technology Corporation
 * SPDX-License-Identifier: Apache-2.0
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
/** *****************************************************************************************************
 * \file     Firewall_Dio_Cfg.c                                                                         *
 * \brief    This file contains configuration source for Firewall DIO MCAL driver                       *
 *                                                                                                      *
 * <table>                                                                                              *
 * <tr><th>Date                 <th>Version                                                             *
 * <tr><td>2025-03-25 19:03:22      <td>1.0.0 R                                                         *
 * </table>                                                                                             *
 *******************************************************************************************************/
#ifdef __cplusplus
extern "C" {
#endif

#include "Firewall_Dio_Cfg.h"

#define FIREWALL_START_SEC_CONST_UNSPECIFIED
#include "Firewall_MemMap.h"

/********************************************************************************************************
 *                                  Private Constant Definitions                                        *
 *******************************************************************************************************/
/** \brief The dio pin channels assigned to SF0. */
static const uint16 Dio_SF0ChannelID[] = {
43,
};
/** \brief The dio pin channels assigned to SF1. */
static const uint16 Dio_SF1ChannelID[] = {
44,
};
/** \brief The dio pin channels assigned to SE. */
static const uint16 Dio_SEChannelID[] = {
45,
};

/********************************************************************************************************
 *                                  Global Constant Declarations                                        *
 *******************************************************************************************************/
/** \brief The configuration of the firewall dio module. */
/*PRQA S 1531 1*/
const Firewall_DioCoreCfgType Firewall_DioRuleSpaceCfg[FIREWALL_DIO_CORE_NUM] =
{
    {
        /*PRQA S 5209 1*/
        .dioUserPermission = (unsigned int)PERMISSION_RW, /* 0:RW 1:RO 2:WO 3:NONE */
        /*PRQA S 5209 1*/
        .dioPrivilegedPermission = (unsigned int)PERMISSION_RW, /* 0:RW 1:RO 2:WO 3:NONE */
        /*PRQA S 5209 1*/
        .dioCoreId = 0U, /* index 0:sf0 1:sf1 2:sf2 3:sf3 8(24):lp 9(25):se*/
        .didId = 0xF,
        .dioChannelCfg = {
            .dioChannelID = &Dio_SF0ChannelID[0],
            .dioChannelNum = 1U,
        },
    },
    {
        /*PRQA S 5209 1*/
        .dioUserPermission = (unsigned int)PERMISSION_RW, /* 0:RW 1:RO 2:WO 3:NONE */
        /*PRQA S 5209 1*/
        .dioPrivilegedPermission = (unsigned int)PERMISSION_RW, /* 0:RW 1:RO 2:WO 3:NONE */
        /*PRQA S 5209 1*/
        .dioCoreId = 1U, /* index 0:sf0 1:sf1 2:sf2 3:sf3 8(24):lp 9(25):se*/
        .didId = 0xE,
        .dioChannelCfg = {
            .dioChannelID = &Dio_SF1ChannelID[0],
            .dioChannelNum = 1U,
        },
    },
    {
        /*PRQA S 5209 1*/
        .dioUserPermission = (unsigned int)PERMISSION_RW, /* 0:RW 1:RO 2:WO 3:NONE */
        /*PRQA S 5209 1*/
        .dioPrivilegedPermission = (unsigned int)PERMISSION_RW, /* 0:RW 1:RO 2:WO 3:NONE */
        /*PRQA S 5209 1*/
        .dioCoreId = 9U, /* index 0:sf0 1:sf1 2:sf2 3:sf3 8(24):lp 9(25):se*/
        .didId = 0x3,
        .dioChannelCfg = {
            .dioChannelID = &Dio_SEChannelID[0],
            .dioChannelNum = 1U,
        },
    },
};

#define FIREWALL_STOP_SEC_CONST_UNSPECIFIED
#include "Firewall_MemMap.h"

#ifdef __cplusplus
}
#endif
/* End of file */
